This specification relates to operations performed in conjunction with media content rendering.
The Internet is widely used to distribute media content, including video, graphic, audio, and scripting data. Media content can be downloaded as a file, or streamed to a client computer, where a media player application can process and output the media content to a display device and, if applicable, one or more speakers. The media player application or an application including media player functionality, in some examples, can be a program written for a particular operating system (OS) on a computer platform or a “plug-in” based software that runs inside another program, such as a runtime environment, on a computer platform.
Part of media content rendering can include caching images to increase the speed of rendering that image to the screen upon repeated requests for the particular image. In video game systems, background textures, or gradient-sized mipmaps, are cached to increase the speed of background image rendering. Caching uncompressed images, such as bitmaps, can be instrumental in increasing rendering speed, as graphics managers typically require uncompressed image data. Some graphics hardware has been designed specifically to quickly manipulate compressed images, for example to increase the speed of graphics rendering in video gaming systems.
Cache management policies can include least recently used (LRU), least frequently used (LFU), largest items first, or a combination of tactics, generally aimed at keeping memory use under control while gaining the most benefit from maintaining a cache. Some more complex methods for cache management include weighting cached objects, for example by a replacement “cost” corresponding to lost time in obtaining or generating the removed object.
ADOBE® FLASH LITE® software, a lightweight version of ADOBE® FLASH® Player software, by Adobe Systems Incorporated of San Jose, Calif. makes use of a fixed size bitmap LRU cache. The LRU cache includes bitmaps generated by uncompressing compressed images, for example as received in a scripting file such as a SWF file (SWF is a file format, such as the SWF File Format Specification, Version 10, as published by Adobe Systems Incorporated of San Jose, Calif., which delivers vector graphics, text, video, and sound over the Internet). Contents of the bitmap cache are dropped as needed, on an LRU basis, to make room for new bitmap data.